#include <stdio.h>
#include <string.h>
#include <unistd.h>

#define printz(format, ...) \
                printf("[%s:%d]"format, __FUNCTION__, __LINE__, ##__VA_ARGS__)

typedef struct
{
    int a;
    char b;
    double c;
    char d[32];
    char *e;
} TEST;

static int s_debug_a;
static const int s_debug_b = 117;
static int s_debug_c = 3;
static char s_debug_d = 'l';
static char *s_debug_e = "chcnav";
static char s_debug_f[32] = "huacenav";
static long long s_debug_g = 15379;
static float s_debug_h = 3.7;
static double s_debug_i = 7.11;
int s_debug_j = 7;
static TEST s_debug_k = {11, 'z', 11.3, "hello", "world"};

int main()
{
    s_debug_a = 37;

    while (1)
    {
        printz("s_debug_a = %d \r\n", s_debug_a);
        printz("s_debug_b = %d \r\n", s_debug_b);
        printz("s_debug_c = %d \r\n", s_debug_c);
        printz("s_debug_d = %c \r\n", s_debug_d);
        printz("s_debug_e = %s \r\n", s_debug_e);
        printz("s_debug_f = %s \r\n", s_debug_f);
        printz("s_debug_g = %ld \r\n", s_debug_g);
        printz("s_debug_h = %f \r\n", s_debug_h);
        printz("s_debug_i = %lf \r\n", s_debug_i);
        printz("s_debug_j = %d \r\n", s_debug_j);
        printz("s_debug_k = [%d][%c][%lf][%s][%s] \r\n", s_debug_k.a, s_debug_k.b, s_debug_k.c, s_debug_k.d, s_debug_k.e);
        sleep(7);
    }

    return 0;
}

